﻿using System;
using TestingIoCInWeb.Dominio.Vistas;
using TestingIoCInWeb.Dominio.Interfases;
using SimpleIoC.Dominio.Interfases;

namespace TestingIoCInWeb.Dominio.Presentadores
{
    public class DefaultPresentador:IDefaultPresentador
    {
        private readonly IDefaultVista _vista;
        public DefaultPresentador(IDefaultVista vista)
        {
            _vista = vista;
            SuscribirEventosVista();
        }

        private IClienteRepositorio _clienteRpt;
        public IClienteRepositorio ClienteRepositorio { set { _clienteRpt = value; } }

        private ILogger _logger;
        public ILogger PLogger { set { _logger = value;} }

        private ILogger _testLogger;
        public ILogger TestLogger { set { _testLogger = value; } }

        private void SuscribirEventosVista()
        {
            _vista.VistaCargandose += new EventHandler(VistaCargandose);
        }

        protected void VistaCargandose(object sender, EventArgs e)
        {
            _vista.Clientes = _clienteRpt.ObtenerListado();
            _logger.Write("<b>Finalizo Evento VistaCargandose...</b>");
            _testLogger.Write("<b>Finalizo Evento VistaCargandose...</b>");
        }


    }
}